写给初学者的博途教程:S7

您所在的位置:网站首页 modbus tcp服务端 客户端区别 写给初学者的博途教程:S7

写给初学者的博途教程:S7

2024-05-22 16:34| 来源: 网络整理| 查看: 265

MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。

显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。

下面我们主要来演示MODBUS-TCP通信组态。

 

准备工作:

1. 软件版本: STEP 7 V13 SP1及其以上

2. 固件版本: S7-1200 CPU 的固件版本V4.1及其以上

(其实现在下载的博图版本,有V15.1,V16,而且V17也发布了,软件方面放心使用;硬件方面,如果使用V15.1,固件版本是V4.0-V4.2,也不用担心,使用V16,固件最高可到V4.4)

 图1-1 Modbus TCP V5.0 版本指令块

MODBUS-TCP操作对象:

以两台S7-1200之间进行 Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。

 图1-2 选中接口右击打开属性,系统常数中硬件标识符

MODBUS-TCP客户端编程

S7-1200 客户端侧需要调用MB_CLIENT指令块,该指令块主要完成客户机和服务器的TCP连接、发送命令消息、接收响应以及控制服务器断开的工作任务。

将MB_CLIENT指令在程序块-OB1中的程序段里调用,调用时会自动生成背景DB。(图1-3)

图1-3

该功能块各个引脚定义:

CONNECT引脚的指针类型:

第一步,先创建一个新的全局数据块DB2:

图1-4

第二步,双击打开新生成的DB块,定义变量名称为“aa",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。(图1-5)

图1-5

创建 MB_CLIENT 中的TCP连接结构的数据类型

各个引脚定义说明如下:

表为图1-5 TCON_IP_v4 数据结构的引脚定义;

 

本文远程服务器的IP地址为192.168.0.3,远程端口号设为502。所以客户端侧该数据结构的各项值为:

图1-6

注意: CONNECT引脚的填写需要用符号寻址的方式。

 

 创建 MB_DATA_PTR 数据缓冲区:

第一步,创建一个全局数据块 DB3,创建方法可以参考上面的图3,数据块的名称如图1-7所示:

图1-7

第二步,建议一个数组的数据类型,以便通信中存放数据,请参考图1-8所示:

图1-8

注意: MB_DATA_PTR指定的数据缓冲区可以为DB块或M存储区地址中。

DB块可以为优化的数据块,也可以为标准的数据块结构。

若为优化的数据块结构,编程时需要以符号寻址的方式填写该引脚;若为标准的数据块结构。

(可以右键单击DB块,“属性”中将“优化的块访问”前面的勾去掉,如下图1-9所示),需要以绝对地址的方式填写该引脚。本文以标准的数据块(默认)为例进行编程。

图1-9

客户端侧完成指令块编程:

调用 MB_CLIENT 指令块,实现从 Modbus TCP 通信服务器中读取2个保持寄存器的值,如图1-10所示:

图1-10

将整个项目下载到S7-1200

待Modbus TCP 服务器侧准备就绪,给MB_CLIENT指令块的REQ引脚一个上升沿,将读取到的数据放入 MB_DATA_PTR引脚指定的DB 块中。具体的实验结果可以查看S7-1200 服务器侧编程。

 

今天《写给初学者的博途教程:S7-1200作MODBUS TCP客户端》小智就分享到这,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言,如果喜欢关注小智,点赞转发谢谢!

下篇预告……(S7-1200作MODBUS TCP服务器)

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3